﻿// ImagePro.h: interface for the ImagePro class.
//
//////////////////////////////////////////////////////////////////////
#ifndef _IMAGE_PRO_H_
#define _IMAGE_PRO_H_
#include "BmpImage.h"
#include <math.h>
class ImagePro
{
public:
	//将灰度图像转化为彩色图像
	void CoverToRGB();
	//将彩色图像转化为灰度图像
	void CoverToGray();
	//对图像进行错切,重载了三种不同参数类型的此功能函数，有不同的应用场合
	void Clip(DWORD dwLtX,DWORD dwLtY,DWORD dwRdX,DWORD dwRdY);
	void Clip(POINT pTopLeft,POINT pRigDown);
	void Clip(CRect cRect);
	//将图像绕其中心旋转指定角度
	void Rotate(double dwAngle);
	//将图像按指定比例进行缩放
	bool Zoom(double fHor,double Vert);
	//将图像进行水平和垂直错像
	void Mirror(bool bDirection);
	//将图像移动到绘图板上的指定点处显示
	void MoveTo(LONG lX,LONG lY);
	//图像处理类构造函数,以BmpImage类为参数
	ImagePro(BmpImage* bmpImage);
	//图像处理类的析构函数
	virtual ~ImagePro();

private://以下为图像处理类的属性
	//每个像素点占用的字节数
	DWORD dwBytesPerPix;
	//图像的像素数据,此外图像还包括组织数据
	BYTE* bTempBmpData;
	//图像每行点用的字节数，其以字节为单位，并为4的倍数
	DWORD dwLineWidth;
	////图像的像素数据
	BYTE* bBmpData;
	//图像的高度
	DWORD dwHeight;
	//图像的宽度
	DWORD dwWidth;
	//BmpImage类对象
	BmpImage* bmpImage;
	//图像调色板指针
	RGBQUAD* m_pRGBTAB;
};

#endif
